import React, { Component } from 'react'
// rcc => React Class Component

// !1. 给按钮绑定点击事件
// ?2. 获取原来的数字
// 3. 在原来的基础上 +1

export default class App extends Component {
  constructor() {
    super()
    this.state = {
      count: 0,
    }
    // 1. 往实例自身上又挂载了一个 handleClick 函数
    // 2. 此函数的函数体是通过原型上 handleClick 函数生成的新函数
    // 3. 并把原型上 handleClick 函数中的 this 通过 bind 绑定为了 this，而这里构造函数中的 this 正是实例对象
    // 4. 其实点击的时候调用的是这个构造函数 handleClick（就近原则），而这个构造函数中的 handleClick 执行的是原型上的 handleClick 的函数体
    this.handleClick = this.handleClick.bind(this)
  }
  handleClick() {
    console.log(this)
  }
  render() {
    return (
      <div style={{ textAlign: 'center' }}>
        <h3>计数器：{this.state.count}</h3>
        <button onClick={this.handleClick}>+1</button>
      </div>
    )
  }
}
